#ifndef __AI_SPELER_H__
#define __AI_SPELER_H__

#include "Speler.h"

//	Author: Kenneth Venken

//! De artificiële intelligentie.

#include <vector>
using std::vector;

class AiSpeler : public Speler
{
public:
	AiSpeler(const string& naam, const string& color)
		: Speler( naam, color ) 
	{
		m_spel = NULL;
	}

	virtual void programmeerRobot(Robot* robot);
	// refresh geheugen ai
	void updateBord( const Spel* spel );

private:
	const Spel* m_spel;
	Robot* m_robot;
	void findOptimalSolution(vector<Kaart*> chosen, vector<Kaart*> toChooseFrom);
	int m_bestSoFar;
	vector<Kaart*> m_best;

	void computeStrategy( const Spel* spel );

	vector< vector< vector<int> > > m_hoogteMap;
};

#endif
